package com.itm.flujos.utils;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import com.itm.flujos.modelo.Resultados;

public class Utilidades {

	/**
	 * Backup fichero 
	 */
	public static void backUpFichero(String rutaOrigen, String rutaDestino){
		File _carpeta = null;
		File _fich = null;
		
		try {
			_carpeta = new File(rutaOrigen);
			if( !_carpeta.exists()){
				_carpeta.mkdirs();
			}
			_carpeta =  new File(rutaOrigen+"/"+Resultados.getNombreCarpeta());
			_carpeta.mkdir();
			_fich = new File(rutaDestino);
			copyfile(_fich.getAbsolutePath(), _carpeta.getAbsolutePath()+"/"+_fich.getName());
		} catch (Exception e) {
		}
	}

	/**
	 * Copiado fichero de un origen a un destino
	 * @param srFile
	 * @param dtFile
	 */
	public static void copyfile(String srFile, String dtFile) {
		try {
			File f1 = new File(srFile);
			File f2 = new File(dtFile);
			InputStream in = new FileInputStream(f1);

			OutputStream out = new FileOutputStream(f2);

			byte[] buf = new byte[1024];
			int len;
			while ((len = in.read(buf)) > 0) {
				out.write(buf, 0, len);
			}
			in.close();
			out.close();
			System.out.println("Fichero copiado.");
		} catch (FileNotFoundException ex) {
			System.out.println(ex.getMessage() + " En el directorio especificado.");
		} catch (IOException e) {
			System.out.println(e.getMessage());
		}
	}
}
